/**
 * Created by admin on 2018/6/30.
 */
var ieVersion = IEVersion();
// 根据 session 获取登录用户的 token
function scrollToTop(){
    // <!--返回顶部-->
    $('html,body').animate({scrollTop: '0px'}, 2000);
}
if (user_im_token){
    // token accid 应该根据登录用户变更
    var nim = new NIM({
        // 初始化SDK
        debug: false,
        appKey: appKey,
        account: user_im_name,// accid
        token: user_im_token, // token
        onconnect: onConnect,
        onerror: onError,
        onwillreconnect: onWillReconnect,
        ondisconnect: onDisconnect,
        // 多端
        //onloginportschange: onLoginPortsChange,
        // 好友关系
        //onsyncfriendaction: onSyncFriendAction,
        // 会话
        onupdatesession: onUpdateSession,
        onsessions: onSessions,
        syncSessionUnread : true,
        // 消息
        onmsg: onMsg
    });
}
function onConnect() {
    console.log('连接成功');
}
function onWillReconnect(obj) {
    // 此时说明 `SDK` 已经断开连接, 请开发者在界面上提示用户连接已断开, 而且正在重新建立连接
    console.log('即将重连', obj);
}
function onDisconnect(error) {
    // 此时说明 `SDK` 处于断开状态, 开发者此时应该根据错误码提示相应的错误信息, 并且跳转到登录页面
    console.log('连接断开', error);
    if (error) {
        switch (error.code) {
            // 账号或者密码错误, 请跳转到登录页面并提示错误
            case 302:
                break;
            // 重复登录, 已经在其它端登录了, 请跳转到登录页面并提示错误
            case 417:
                break;
            // 被踢, 请提示错误后跳转到登录页面
            case 'kicked':
                break;
            default:
                break;
        }
    }
}
function onError(error, obj) {
    console.log('发生错误', error, obj);
}

function onLoginPortsChange(loginPorts) {
    console.log('当前登录帐号在其它端的状态发生改变了', loginPorts);
}

function onSyncFriendAction(obj) {
    console.log('收到好友操作', obj);
    switch (obj.type) {
        case 'addFriend':
            console.log('你在其它端直接加了一个好友' + obj);
            onAddFriend(obj.friend);
            break;
        case 'applyFriend':
            console.log('你在其它端申请加了一个好友' + obj);
            break;
        case 'passFriendApply':
            console.log('你在其它端通过了一个好友申请' + obj);
            onAddFriend(obj.friend);
            break;
        case 'rejectFriendApply':
            console.log('你在其它端拒绝了一个好友申请' + obj);
            break;
        case 'deleteFriend':
            console.log('你在其它端删了一个好友' + obj);
            onDeleteFriend(obj.account);
            break;
        case 'updateFriend':
            console.log('你在其它端更新了一个好友', obj);
            onUpdateFriend(obj.friend);
            break;
    }
}
function onUpdateSession(session) {
    console.log('会话更新了', session);
    //data.sessions = nim.mergeSessions(data.sessions, session);
    //updateSessionsUI();
}
// 未读消息提示
function onSessions(sessions) {
    var unReadNum = 0;
    if (sessions.length>0){
        $.each(sessions,function (k,v) {
            unReadNum += v.unread;
        });
        if (unReadNum>0){
            $('#nav_im > .img > img ').attr('src','/img/im_notice.gif');
        }
    }
    //data.sessions = nim.mergeSessions(data.sessions, sessions);
}
function onMsg(msg) {
    console.log('收到消息', msg.scene, msg.type, msg);
    console.log(user_im_name);
    console.log(msg.from);
    if (msg.from!=user_im_name){
        $('#nav_im > .img > img ').attr('src','/img/im_notice.gif');
    }
    // 更新 显示图片
    //pushMsg(msg);
}
var flagnum = 0;
$(document).off('click', '#nav_im');
$(document).on('click', '#nav_im',function () {
    // 更新 显示图片
    $('#nav_im > .img > img ').attr('src','/img/web/index/icon_03.png');
    //event.stopPropagation();
    if (sid == '' || sid == '0') {
        layer.confirm('请先登录后再使用聊天功能', {
            title: '温馨提示',
            btn: ['确认', '取消'] //可以无限个按钮
        }, function (index) {
            layer.close(index);
            $(".login_a").trigger('click');
            //window.location.href = AJAX_URL + '/user/login';
        }, function (index) {
            layer.close(index);
        });
        return false;

    } else {
        var url = 'http://im.91homedo.com/im/login.php?from=' + sid;
        if (ieVersion==false) {
            // var url = 'http://im.91homedo.com/im/login.php';
            layer.open({
                type: 2,
                title: '<img src="/img/contactus.gif"> 井井通',
                shadeClose: true,
                shade: false,
                scrollbar: false, // 父页面 滚动条 禁止
                maxmin: false, //开启最大化最小化按钮
                area: ['820px', '615px'],
                content: [url, 'no'],
                success: function (layero, index) {
                    layer.iframeAuto(index);
                }
            });

        }else{
            window.open(url,'','width=820,height=615');
        }
        return false;
    }
});

// 联系商家
$(document).off('click', '#contact,.contact_shop');
$(document).on('click', '#contact,.contact_shop',function () {
    // 更新 显示图片
    $('#nav_im > .img > img ').attr('src','/img/web/index/icon_03.png');
    if (sp_id==false){
        sp_id = $(this).attr('data-sp');
        if (sp_id){
            checkIm = true;
        }
    }
    //event.stopPropagation();
    if (sid == '' || sid == '0') {
        layer.confirm('请先登录后再联系卖家', {
            title: '温馨提示',
            btn: ['确认', '取消'] //可以无限个按钮
        }, function (index) {
            window.location.href = AJAX_URL + '/user/login';
        }, function (index) {
            layer.close(index);
        });
        return false;

    } else {
        if(checkIm !=true){
            layer.confirm('卖家暂未开通即时通讯服务', {
                title: '温馨提示',
                btn: ['确认', '取消'] //可以无限个按钮
            }, function (index) {
                layer.close(index);
            });
        }else{

            var url = 'http://im.91homedo.com/im/login.php?from=' + sid + '&to='+sp_id;

            if (ieVersion==false) {
                layer.open({
                    type: 2,
                    title: '<img src="/img/contactus.gif"> 井井通',
                    shadeClose: true,
                    shade: false,
                    scrollbar: false, // 父页面 滚动条 禁止
                    maxmin: false, //开启最大化最小化按钮
                    area: ['820px', '615px'],
                    content: [url, 'no'],
                    success: function (layero, index) {
                        layer.iframeAuto(index);
                    }
                });
            }else{
                window.open(url,'','width=820,height=615');
            }
        }
        return false;
    }
});
function IEVersion() {
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
    var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
    var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
    var version = false;
    if(isIE) {
        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
        reIE.test(userAgent);
        var fIEVersion = parseFloat(RegExp["$1"]);
        if(fIEVersion == 7) {
            version = 7;
        } else if(fIEVersion == 8) {
            version = 8;
        } else if(fIEVersion == 9) {
            version = 9;
        } else if(fIEVersion == 10) {
            version = 10;
        } else {
            version = 6;//IE版本<=7
        }
    } else if(isEdge) {
        version = 'edge';//edge
    } else if(isIE11) {
        version = 11; //IE11
    }
    return version;//不是ie浏览器
}
